
from django.utils.deprecation import MiddlewareMixin
#开启cors, 跨域资源共享
# 跨域分为两种情况：简单请求，非简单请求
'''
如果是简单请求，只需要允许域，就可以完成跨域共享
如果是非简单请求，需要允许域配置+允许头配置，才能完成跨域共享
原因:因为非简单请求，会发送两次请求，第一次是option请求，第二次才是真正的请求
option请求：相当于预检，只有通过了option请求后，浏览器才会发送真正的请求
'''
class MyMiddle(MiddlewareMixin):
    def process_response(self, request, response):
        # print(request)
        #1 允许域配置
        response['Access-Control-Allow-Origin'] = '*'  #这是允许域
        if request.method == 'OPTIONS':
            print(request.method) #OPTIONS
            # 2 允许头配置  ['Access-Control-Allow-Headers'] = '任何'
            response['Access-Control-Allow-Headers'] = 'Content-Type' #这是允许头
        #     # response['Access-Control-Allow-Headers'] = "authorization" #允许头都可以
        return response